import java.util.Scanner;

/**
 * @author yu
 * @date 2025年05月13日 15:58
 * 描述
 * 对于给定的整数 n，从小到大依次输出它的全部质因子。即找到这样的质数 p1,p2,⋯,pk
 * 使得 n= p1 × p2 × ⋯ × pk。
 *
 * 输入描述：
 * 在一行上输入一个整数 n(2 ≦ n ≦ 2×10^9+14) 代表待分解的整数。
 *
 * 输出描述：
 * 在一行上从小到大输出若干个整数，代表 n 的质因子。
 */
public class HJ6 {
    public static void main(String[] args) {
        // 处理输入
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            // 获取需要求解的值
            int target = sc.nextInt();
            int y = 2;// 因子从2开始算
            while(target != 1){ // 短除法，除到目标值为1为止
                if(target % y == 0) // 能能够整除2
                {
                    System.out.print(y+" ");
                    target /= y;
                }else{// 更新y的值
                    /* 当 y > target / y 时，说明 target 不可能有比 y 更小的因子了，因此 target 必定是质数。 */
                    if(y > target / y) y = target;//如果剩余值为质数
                    else y++;  //y值增加1
                }
            }
        }
    }

    /*递归 超时 *//*
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        long num = Long.parseLong(sc.next());
        getPrimer(num);
    }

    public static void getPrimer(long num){
        for (int i= 2;i <= num; i++){
            if (num % i==0){
                System.out.print(i + " ");
                getPrimer(num/i);
                break;
            }
            if (i==num){
                System.out.print( i + "");
            }
        }
    }*/
}
